The invention relates to a memory management method for a computer memory of a mobile communication device which can be used, for example, in a vehicle navigation system.
Voice commands are an effective method of directing a driver through traffic without him being distracted too much from the traffic situation. While basic commands such as xe2x80x9cturn leftxe2x80x9d occur in almost all navigation tasks, there is also a large number of less frequently used audible messages which are important only at certain times. Audio messages which have to be output by a vehicle navigation system are, however, generally very memory-intensive. For this reason, generally known navigation systems today are contained in CD-ROMs or ROM-based autonomous systems. These systems are autonomous in the sense that they do not carry out any network-based route planning but rather have all the information in the vehicle and the calculation of routes also takes place there locally. A disadvantage of such vehicle navigation systems is consequently the completely defined dialogue which can only be changed by replacing the CD-ROM or the ROM chip.
An objective of the invention is to provide a memory management method in which it is possible to administer memory-intensive data, for example, audio data, even with a small memory.
A memory management method according to the invention is characterized by the fact that lifetimes are assigned to the messages which are to be written into a memory, in which case, in addition, when the memory is full and further messages arrive, those stored messages whose lifetime, i.e., period of activation, has expired the longest are cleared. The lifetime provides information on how important, i.e. how probable, it is that the respective message stored in the memory has to be played back. Here, the lifetimes can also be increased or reduced if necessary or desired. After a message has been played back, it is held in the memory until the memory is full when new messages arrive. Then, when new messages arrive, those messages whose lifetime has expired the longest are cleared until sufficient memory space is available again for the new messages. The messages to which lifetimes are assigned may contain, for example, audio data, video data or other memory-intensive data.
According to one development of the invention, the clearing process ends when sufficient free memory space is available for the further messages. In this way, it is ensured that only as many messages are cleared from the memory as is necessary for new messages. As a result, efficient and complete use of the memory is ensured. According to another development of the invention, the clearing process ends when the overall storage area is too small for the further messages. In this case, the further messages are rejected so that the messages already present in the memory are available again.
According to one refinement of the invention, messages which have already been read out are given a reduced lifetime. Messages which have already been read out are frequently no longer significant so that this fact can be allowed for by reducing their lifetime.
According to one further refinement of the invention, the lifetime of a message which has already been read out can also be set to the value zero. Rare messages which have already been played, for example in the field of vehicle navigation, can thus be cleared first, since it is in practice improbable that they will be played back again.
According to yet another refinement of the invention, the messages stored in the memory are sorted according to their lifetimes. The sorting can be carried out here in increasing/decreasing order in terms of the values of the lifetimes. In this way, the message, which is inactive the longest, is located, for example, at the end of the memory can be cleared as a coherent block if the length of the message is known. The sorting of the messages stored in the memory takes place preferably after each message which arrives in the memory.
According to one advantageous refinement of the invention, the messages which are to be written into the memory are dispatched by a service provider via an air interface. This has the advantage that initially only basic messages, for example navigation messages, have to be loaded in a desired language by the service provider during the installation. Other situation-specific messages which are not so frequently used can then be dispatched by the surface provider when required. Furthermore, it is possible to update easily a system which uses the memory management method.
According to one further preferred refinement of the invention, the lifetime of a message is contained in each case in a header of this message. As a result, the entire message does not need to be read through for the lifetime, for example, in order to change or update the message.
The header of a message can also contain additional header variables on the basis of which the respective messages are played back if the header variables lie in predefined value ranges or exceed predefined threshold values. Moreover, it is conceivable for each message to contain more than one header if this is necessary for managing the specifically used messages.